package com.hsnn.medstgmini.base.dict.service;

import java.util.List;
import java.util.Map;

import com.hsnn.medstgmini.base.dict.model.DicArea;
import com.hsnn.medstgmini.base.dict.model.form.DicAreaForm;
import com.hsnn.medstgmini.util.Pagination;
/**
 * 
 *@category 地区字典管理接口
 *@author 邱磊
 *@date 2015年6月10日 下午4:10:58
 */
public interface DicAreaManager {
	
	/**
	 * 
	 *@category 根据地区编码查询地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:06:18
	 *@param areaid 地区编码
	 *@return
	 */
	public DicAreaForm getDicAreaById(String areaid);	

	
	/**
	 * @category 通过区域名称获取 区域代码
	 * @author 韩守松
	 * @date   2015年6月13日
	 * @param  @param dicArea
	 * @param  @return
	 */
	List<DicArea> getDicAreaByArfullName(DicArea dicArea);
	public DicAreaForm getAreaById(String areaid);
	
	/**
	 * 
	 *@category 新增保存地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return

	public String addDicArea(DicArea data);
	 */
	
	/**
	 * 获取地区查看列表数据
	 * @param page
	 * @return
	 */
	Pagination getdicAreaList(Pagination page);
	
	/**
	 * 停用启用（包含批量）
	 * @param page
	 * @return
	 */
	int changeStatus(DicArea dicArea);
	
	/**
	 * 
	 *@category 新增或编辑 保存地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return
	 */
	void updateDicArea(Pagination page);

	/**
	 * 
	 *@category 新增或编辑 保存地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return
	 */
	void addDicArea(Pagination page);
	
	
	/**
	 * 
	 *@category 根据ID或name查询有无重复数据
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return
	 */
	List<DicArea> getDicAreaBy(String key, String value, String areaId);	
	
	public List<Map<String, Object>> getAreaInfoByName(String province, String areaName);
	/**
	 * 
	 *@category 查询本省所有的县区
	 *@author 邱磊
	 *@date 2015年11月19日 上午10:40:01
	 *@param 
	 *@return Pagination
	 */
	public Pagination getProvinceCounty(Pagination page);
	
	public List<Map<String, Object>> getAreaByFatherId(String fatherId);
	
	public Map<String, Object> getEveyAreaDelNum();
	
	public Map<String, Object> getAreaByAreaId(String areaId);
	public Pagination getMyProvinceArea(Pagination page);
	public Pagination getMyProvinceAreaByPs(Pagination page);
	
}